package com.zeei.bfs.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zeei.bfs.vo.QueryUserParamVO;
import com.zeei.common.vo.UserVO;

public interface UserService {
	/**
	 * 方法描述：查询用户
	 * 
	 * @param queryUserParam
	 * @return
	 */
	PageInfo<UserVO> queryUser(QueryUserParamVO queryUserParam, UserVO userInfo);

	/**
	 * 方法描述：增加用户
	 * 
	 * @param user
	 * @return
	 */
	Integer addUser(UserVO user);

	/**
	 * 方法描述：编辑用户
	 * 
	 * @param user
	 * @return
	 */
	boolean editUser(UserVO user);
	
	/**方法描述：删除用户
	 * 
	 * @param list
	 * @return
	 */
	boolean dropUser(List<String> list);

	/**
	 * 初始化用户密码
	 * 
	 * @param userVO
	 */
	public void updateToDefaultPassword(UserVO userVO);

	/**
	 * 方法描述：验证用户的登陆名
	 * 
	 * @param user
	 * @return
	 */
	boolean validUserLoginName(UserVO user);

	/**
	 * 根据登陆用户名查询用户信息
	 * 
	 * @param userVO
	 * @return
	 */
	public UserVO queryUserByLoginName(UserVO userVO);

	/**
	 * 方法描述：通过登陆名获取要设置的会话的用户信息实体类
	 * 
	 * @param loginName
	 * @return
	 */
	UserVO getSessionUserInfoVO(String loginName);

	/**
	 * 方法描述：修改密码
	 * 
	 * @param userVO
	 * @return
	 */
	boolean updatePassword(UserVO userVO);

	/**
	 * 方法描述:查询所有的用户
	 *
	 * @return
	 */
	List<UserVO> queryAllUser(String searchUserName,UserVO userVO);

	/**
	 * 方法描述：修改皮肤
	 * 
	 * @param userVO
	 * @return
	 */
	boolean updateSkin(UserVO userVO);


}
